B 币安 · 全球最大的加密货币交易所币安 注册 → AD OKX OKX · 全球领先的加密货币交易所OKX 注册 → AD

正则表达式测试器

输入即可实时查看匹配结果

/ /

这个工具能做什么

输入正则表达式模式、标志和要测试的文本,输入的同时就会像荧光笔一样标出匹配的部分,并以列表显示总匹配数以及每个匹配的位置·捕获组的值。适合编写邮箱·电话号码格式校验模式、打磨从日志中筛选特定行的表达式,或确认别人写的正则实际匹配到什么。

计算方法

直接用浏览器内置的 JavaScript 正则引擎执行模式。模式·标志·文本中任何一项改变都会立即重新执行;语法错误时输入栏会变红,并显示引擎返回的错误信息。开启 g 标志时会找到直到文本末尾的所有匹配,关闭时只找第一个匹配。长度为0的匹配(例:只有 ^ 或 \b 的模式)也会逐格前进计数,不会无限循环。例如模式 (\d{3})-(\d{4})、文本 '010-1234-5678',匹配只有 '010-1234' 一个,分组为 "010"、"1234"。已被匹配过的字符不会再次使用,所以 '234-5678' 不会被单独匹配。结果列表从前往后最多显示50个匹配的编号、起始位置(从0开始计)、匹配字符串和分组值。所有处理都在浏览器内完成。

  • 在斜杠之间的栏中填写模式。初始填有一个简单的邮箱模式作为示例。
  • 选择标志。g 全局搜索,i 忽略大小写,m 多行模式,s 让点(.)也匹配换行。
  • 复选框中没有的标志(u、y 等)直接写在右侧的标志栏即可(最多6个字符)。
  • 粘贴要测试的文本,预览中会高亮匹配部分。
  • 在下方列表中确认匹配数、每个匹配的位置和捕获组的值。

使用须知

  • 如果只出现一个匹配,先看看 g 标志是不是关着。
  • ^ 和 $ 默认表示整个文本的开头和结尾。想对每一行生效,请开启 m。
  • 点(.)默认不匹配换行。想匹配跨多行的整块内容,请开启 s。
  • 要按字面查找 . * + ? ( ) [ ] { } | \ ^ $ 这类特殊字符,前面要加 \。这个输入栏中的斜杠不需要另外转义。
  • \d+ 或 .* 这样贪婪的模式会匹配得比预想更长。想尽量少匹配,在后面加 ?,写成 .*? 这样。
  • 分组没有参与匹配时,列表中会显示为无值。使用可选分组 (…)? 时经常出现。
  • 结果列表最多只显示50个,但总数是全部统计的值。

常见问题

韩文怎么匹配?

[가-힣] 表示一个完整的韩文字。\w 只匹配英文·数字·下划线,不匹配韩文,所以韩文单词请写成 [가-힣]+。(汉字可以用 [\u4e00-\u9fff] 匹配。)

邮箱地址的模式怎么写?

完美的邮箱正则非常长而复杂。通常用 [^\s@]+@[^\s@]+\.[^\s@]+ 这样的模式只检查格式,实际是否存在用验证邮件确认。

在这里能用的模式在其他语言中不行。

每种正则引擎的语法都略有不同。这个工具以 JavaScript 为准,与 Python·Java 等在后行断言、命名分组写法和 Unicode 处理上可能存在差异。

输入的文本会发送到服务器吗?

不会。模式只在浏览器内执行,没有发送到服务器的代码。关闭页面后输入也会消失。

← na.to 门户